package com.wuseguang.springcloud.service;


import com.wuseguang.springcloud.Filter.RequestParameterWrapper;
import com.wuseguang.springcloud.entity.AttendGroup;
import com.wuseguang.springcloud.entity.AttendShift;
import com.wuseguang.springcloud.util.Result;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * @描述
 * @创建人 zm
 * @创建时间 2020/8/3 12:18
 */
public interface AttendTwoService {

    void executeInternal();

    /**
     * @描述 查询所有班次
     * @创建人 zm
     * @创建时间 2020/2/5
     */
    List<Map<String, Object>> queryAttendShiftAll(String school_id);

    /**
     * @描述 根据id 查班次详情
     * @创建人 zm
     * @创建时间 2020/2/5
     */
    Map<String, Object> queryAttendShiftById(String school_id, Integer id);

    /**
     * @描述 修改班次
     * @创建人 zm
     * @创建时间 2020/2/5
     */
    Result updateAttendShiftById(String school_id, AttendShift attendShift);

    /**
     * @描述 添加班次
     * @创建人 zm
     * @创建时间 2020/2/5
     */
    Result addAttendShiftById(String school_id, AttendShift attendShift);

    /**
     * @描述 删除班次
     * @创建人 zm
     * @创建时间 2020/2/5
     */
    Result delAttendShiftById(String school_id, Integer id);


    /**
     * @描述 组合查询所有考勤组
     * @创建人 zm
     * @创建时间 2020/2/5
     */
    List<Map<String, Object>> queryAttendGroupAll(String school_id, String name);


    List<Map<String, Object>> queryAttendGroup(String school_id, String admin, String teacherId);

    List<Map<String, Object>> queryAttendGroupClass(Integer id);

    String attendGroupClassid(Integer id, String s);


    int delAttendGroupById(String school_id, Integer id);

    Map<String, Object> queryAttendGroupById(String school_id, Integer id);

    @Transactional
    int updateAttendGroup(String school_id, AttendGroup attendGroup);

    Map<String, Object> downloadAttend(RequestParameterWrapper request, HttpServletResponse response, String sid, String attend_groupid, String starttime, String endtime, String classids) throws IOException;

    @Transactional
    int addAttendGroup(String school_id, AttendGroup attendGroup);

    Map<String, Object> queryAttendAll(String attend_groupid, String school_id, String starttime, String endtime, String classids);

    void attendString();
}
